home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / aclocal / lib-prefix.m4 < prev    next >
Encoding:
M4 Source File  |  2010-09-19  |  8.3 KB  |  225 lines

  1. # lib-prefix.m4 serial 7 (gettext-0.18)
  2. dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
  3. dnl This file is free software; the Free Software Foundation
  4. dnl gives unlimited permission to copy and/or distribute it,
  5. dnl with or without modifications, as long as this notice is preserved.
  6.  
  7. dnl From Bruno Haible.
  8.  
  9. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
  10. dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
  11. dnl require excessive bracketing.
  12. ifdef([AC_HELP_STRING],
  13. [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
  14. [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
  15.  
  16. dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
  17. dnl to access previously installed libraries. The basic assumption is that
  18. dnl a user will want packages to use other packages he previously installed
  19. dnl with the same --prefix option.
  20. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
  21. dnl libraries, but is otherwise very convenient.
  22. AC_DEFUN([AC_LIB_PREFIX],
  23. [
  24.   AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
  25.   AC_REQUIRE([AC_PROG_CC])
  26.   AC_REQUIRE([AC_CANONICAL_HOST])
  27.   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
  28.   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
  29.   dnl By default, look in $includedir and $libdir.
  30.   use_additional=yes
  31.   AC_LIB_WITH_FINAL_PREFIX([
  32.     eval additional_includedir=\"$includedir\"
  33.     eval additional_libdir=\"$libdir\"
  34.   ])
  35.   AC_LIB_ARG_WITH([lib-prefix],
  36. [  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
  37.   --without-lib-prefix    don't search for libraries in includedir and libdir],
  38. [
  39.     if test "X$withval" = "Xno"; then
  40.       use_additional=no
  41.     else
  42.       if test "X$withval" = "X"; then
  43.         AC_LIB_WITH_FINAL_PREFIX([
  44.           eval additional_includedir=\"$includedir\"
  45.           eval additional_libdir=\"$libdir\"
  46.         ])
  47.       else
  48.         additional_includedir="$withval/include"
  49.         additional_libdir="$withval/$acl_libdirstem"
  50.       fi
  51.     fi
  52. ])
  53.   if test $use_additional = yes; then
  54.     dnl Potentially add $additional_includedir to $CPPFLAGS.
  55.     dnl But don't add it
  56.     dnl   1. if it's the standard /usr/include,
  57.     dnl   2. if it's already present in $CPPFLAGS,
  58.     dnl   3. if it's /usr/local/include and we are using GCC on Linux,
  59.     dnl   4. if it doesn't exist as a directory.
  60.     if test "X$additional_includedir" != "X/usr/include"; then
  61.       haveit=
  62.       for x in $CPPFLAGS; do
  63.         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  64.         if test "X$x" = "X-I$additional_includedir"; then
  65.           haveit=yes
  66.           break
  67.         fi
  68.       done
  69.       if test -z "$haveit"; then
  70.         if test "X$additional_includedir" = "X/usr/local/include"; then
  71.           if test -n "$GCC"; then
  72.             case $host_os in
  73.               linux* | gnu* | k*bsd*-gnu) haveit=yes;;
  74.             esac
  75.           fi
  76.         fi
  77.         if test -z "$haveit"; then
  78.           if test -d "$additional_includedir"; then
  79.             dnl Really add $additional_includedir to $CPPFLAGS.
  80.             CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
  81.           fi
  82.         fi
  83.       fi
  84.     fi
  85.     dnl Potentially add $additional_libdir to $LDFLAGS.
  86.     dnl But don't add it
  87.     dnl   1. if it's the standard /usr/lib,
  88.     dnl   2. if it's already present in $LDFLAGS,
  89.     dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
  90.     dnl   4. if it doesn't exist as a directory.
  91.     if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
  92.       haveit=
  93.       for x in $LDFLAGS; do
  94.         AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  95.         if test "X$x" = "X-L$additional_libdir"; then
  96.           haveit=yes
  97.           break
  98.         fi
  99.       done
  100.       if test -z "$haveit"; then
  101.         if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
  102.           if test -n "$GCC"; then
  103.             case $host_os in
  104.               linux*) haveit=yes;;
  105.             esac
  106.           fi
  107.         fi
  108.         if test -z "$haveit"; then
  109.           if test -d "$additional_libdir"; then
  110.             dnl Really add $additional_libdir to $LDFLAGS.
  111.             LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
  112.           fi
  113.         fi
  114.       fi
  115.     fi
  116.   fi
  117. ])
  118.  
  119. dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
  120. dnl acl_final_exec_prefix, containing the values to which $prefix and
  121. dnl $exec_prefix will expand at the end of the configure script.
  122. AC_DEFUN([AC_LIB_PREPARE_PREFIX],
  123. [
  124.   dnl Unfortunately, prefix and exec_prefix get only finally determined
  125.   dnl at the end of configure.
  126.   if test "X$prefix" = "XNONE"; then
  127.     acl_final_prefix="$ac_default_prefix"
  128.   else
  129.     acl_final_prefix="$prefix"
  130.   fi
  131.   if test "X$exec_prefix" = "XNONE"; then
  132.     acl_final_exec_prefix='${prefix}'
  133.   else
  134.     acl_final_exec_prefix="$exec_prefix"
  135.   fi
  136.   acl_save_prefix="$prefix"
  137.   prefix="$acl_final_prefix"
  138.   eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
  139.   prefix="$acl_save_prefix"
  140. ])
  141.  
  142. dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
  143. dnl variables prefix and exec_prefix bound to the values they will have
  144. dnl at the end of the configure script.
  145. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
  146. [
  147.   acl_save_prefix="$prefix"
  148.   prefix="$acl_final_prefix"
  149.   acl_save_exec_prefix="$exec_prefix"
  150.   exec_prefix="$acl_final_exec_prefix"
  151.   $1
  152.   exec_prefix="$acl_save_exec_prefix"
  153.   prefix="$acl_save_prefix"
  154. ])
  155.  
  156. dnl AC_LIB_PREPARE_MULTILIB creates
  157. dnl - a variable acl_libdirstem, containing the basename of the libdir, either
  158. dnl   "lib" or "lib64" or "lib/64",
  159. dnl - a variable acl_libdirstem2, as a secondary possible value for
  160. dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
  161. dnl   "lib/amd64".
  162. AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
  163. [
  164.   dnl There is no formal standard regarding lib and lib64.
  165.   dnl On glibc systems, the current practice is that on a system supporting
  166.   dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
  167.   dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
  168.   dnl the compiler's default mode by looking at the compiler's library search
  169.   dnl path. If at least one of its elements ends in /lib64 or points to a
  170.   dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
  171.   dnl Otherwise we use the default, namely "lib".
  172.   dnl On Solaris systems, the current practice is that on a system supporting
  173.   dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
  174.   dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
  175.   dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
  176.   AC_REQUIRE([AC_CANONICAL_HOST])
  177.   acl_libdirstem=lib
  178.   acl_libdirstem2=
  179.   case "$host_os" in
  180.     solaris*)
  181.       dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
  182.       dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
  183.       dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
  184.       dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
  185.       dnl symlink is missing, so we set acl_libdirstem2 too.
  186.       AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
  187.         [AC_EGREP_CPP([sixtyfour bits], [
  188. #ifdef _LP64
  189. sixtyfour bits
  190. #endif
  191.            ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
  192.         ])
  193.       if test $gl_cv_solaris_64bit = yes; then
  194.         acl_libdirstem=lib/64
  195.         case "$host_cpu" in
  196.           sparc*)        acl_libdirstem2=lib/sparcv9 ;;
  197.           i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
  198.         esac
  199.       fi
  200.       ;;
  201.     *)
  202.       searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
  203.       if test -n "$searchpath"; then
  204.         acl_save_IFS="${IFS=     }"; IFS=":"
  205.         for searchdir in $searchpath; do
  206.           if test -d "$searchdir"; then
  207.             case "$searchdir" in
  208.               */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
  209.               */../ | */.. )
  210.                 # Better ignore directories of this form. They are misleading.
  211.                 ;;
  212.               *) searchdir=`cd "$searchdir" && pwd`
  213.                  case "$searchdir" in
  214.                    */lib64 ) acl_libdirstem=lib64 ;;
  215.                  esac ;;
  216.             esac
  217.           fi
  218.         done
  219.         IFS="$acl_save_IFS"
  220.       fi
  221.       ;;
  222.   esac
  223.   test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
  224. ])
  225.